import request from '../utils/Request.js';

/**
 * 日志管理API模块
 */
const logsApi = {
  /**
   * 获取操作日志列表
   * @param {Object} [params] - 查询参数
   * @param {number} [params.page=1] - 页码
   * @param {number} [params.pageSize=10] - 每页数量
   * @param {string} [params.username] - 操作用户名
   * @param {number} [params.userType] - 用户类型: 1-企业账号 2-市账号 3-省账号
   * @param {string} [params.enterpriseId] - 企业ID
   * @param {string} [params.operationModule] - 操作模块
   * @param {string} [params.startTime] - 操作开始时间
   * @param {string} [params.endTime] - 操作结束时间
   * @param {number} [params.responseStatus] - 响应状态
   * @returns {Promise} 返回操作日志列表
   */
  getLogsList: (params = {}) => {
    // 设置默认参数
    const defaultParams = {
      page: 1,
      pageSize: 10,
      ...params,
    };
    
    return request.get({
      url: '/logs/list',
      params: defaultParams,
    });
  },

  /**
   * 获取日志详情
   * @param {string} logId - 日志ID
   * @returns {Promise} 返回日志详情
   */
  getLogDetail: (logId) => {
    return request.get({
      url: `/logs/${logId}/detail`,
    });
  },

  /**
   * 导出日志
   * @param {Object} [params] - 查询参数，与getLogsList相同
   * @returns {Promise} 返回导出结果
   */
  exportLogs: (params = {}) => {
    return request.get({
      url: '/logs/export',
      params: params,
      responseType: 'blob'
    });
  },

  /**
   * 清理日志
   * @param {Object} params - 请求参数
   * @param {string} params.end_time - 清理截止时间，清理该时间之前的日志
   * @returns {Promise} 返回清理结果
   */
  clearLogs: (params) => {
    return request.post({
      url: '/logs/clear',
      params: params,
    });
  }
};

export default logsApi;